package com.pactera.asmp.server.service;

import com.pactera.asmp.server.entity.ScriptInfoDTO;
import com.pactera.asmp.server.entity.ScriptInfoSearchDTO;
import com.pactera.asmp.server.pojo.ScriptInfo;
import com.pactera.asmp.server.pojo.ScriptInfo2;
import com.pactera.asmp.server.utils.PageDataResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @ProjectName: server
 * @Package com.pactera.asmp.server.service
 * @ClassName: IScriptInfoServcie
 * @Description: IScriptInfoServcie
 * @Date 2020/06/28 16:49
 * @Author lvzhiqiang
 * @Version 1.0
 */
public interface IScriptInfoServcie {

    ScriptInfoDTO insert(ScriptInfoDTO scriptInfoDTO);

    boolean delete(Integer id);

    boolean delete(List<Integer> datas);

    boolean update(ScriptInfo scriptInfo);

    PageDataResult select(ScriptInfoSearchDTO scriptInfoSearchDTO);

    List<ScriptInfo> selectScriptByGroupIds(List<Integer> groupIds);

    List<ScriptInfo2> selectScriptByScriptIds(List<Integer> scriptIds);

    ScriptInfo selectScriptByScriptId(Integer scriptId);

    Map<Integer,Integer> getScriptModuleByIds(@Param("ids") Integer[] ids);

    List<Long> selectRelConstantList(Integer scriptId);

    List<ScriptInfo2> selectScriptByScriptIdsWithoutStatus(List<Integer> scriptIds);
}
